package cn.group7.padserver.service;

import cn.group7.padserver.entity.Page;
import cn.group7.padserver.entity.Recommender;
import cn.group7.padserver.pojo.BankUser;
import cn.group7.padserver.pojo.Finance;

import java.util.List;

/**
 * @author 谷汉斌
 * @description 创建FinanceService接口，定义方法添加融资
 * @createTime 2024/7/31 上午9:24
 */
public interface FinanceService {
    /**
     * @param finance 融资信息
     * @return 添加结果
     * @description 添加融资
     * @createTime 2024/7/31 上午9:24
     */
    boolean add(Finance finance);

    /**
     * @param finance 融资信息
     * @return 添加结果
     * @description 添加组合融资
     * @createTime 2024/7/31 上午9:24
     */
    boolean addMulti(Finance finance);

    /**
     * @param finance 融资信息
     * @return 融资信息列表
     * @description 根据融资信息查询其他融资信息
     * @createTime 2024/7/31 上午9:24
     */
    List<Finance> selectByFinance(Finance finance);

    /**
     * @param id 融资id
     * @return 融资信息
     * @description 根据融资id查询融资信息
     * @createTime 2024/7/31 上午9:24
     */
    Finance selectByFinanceId(Integer id);

    /**
     * @param id 融资id
     * @return 删除结果
     * @description 根据融资id删除融资信息
     * @createTime 2024/7/31 上午9:24
     */
    boolean deleteByFinanceId(Integer id);

    /**
     * @param finance 融资信息
     * @return 添加结果
     * @description 根据融资信息更新融资信息
     * @createTime 2024/7/31 上午9:24
     */
    boolean updateByFinance(Finance finance);

    /**
     * 分页查询推荐融资人
     *
     * @param pageNum 页码
     * @param  pageSize 每页数量
     *
     * @return 分页结果
     */
    Page<BankUser> selectRecommend(Integer pageNum, Integer pageSize);
}
